home *** CD-ROM | disk | FTP | other *** search
- MandelPAUG release 2.0 1 Oct 90
-
- An enhanced Mandelbrot and Julia set fractal generator
- exclusively for the Amiga computer!
-
- This is a fully functional implementation of the MandFXP program which was
- written by Bruce Dawson and Steve Larocque of CygnusSoft Software in
- Vancouver, B.C. CygnusSoft Software released MandFXP as freely
- redistributable along with its source code.
-
- This version was produced by Jerry D. Hedden for inclusion in the
- Philadelphia Amiga Users Group's (PAUG) Public Domain Software Library.
- Compared to previous releases, this version has the complete on-line help
- function, a fully implemented "Mandelbrot and Julia set movie" mode, and
- sports many improvements in the user-interface. Non-visible changes include
- code cleanup, numerous bug fixes, better utilization of chip ram, and
- special code for utilizing 68020 32-bit multiplication. The algorithmic
- portions of the original MandFXP source are largely unchanged.
-
- Introduction and Theory
- ~~~~~~~~~~~~~~~~~~~~~~~
- The Mandelbrot set and the Julia set are both what is known as 'fractals'.
- For each pixel, a mathematical operation is performed repeatedly on its
- coordinates until either the result grows larger than a certain limit (two)
- or the operation has been performed the maximum number of times selected by
- the user. This is why Mandelbrot programs take so long. For each pixel
- they may have to perform the same operation hundreds of times! If the
- result of the operation still hasn't exceeded two when the operation has
- been performed the maximum number of times, the pixel is considered to be in
- the Mandelbrot set (or Julia set) and is colored black.
-
- One important thing about fractals is that they are infinitely complex. No
- matter how far you zoom in, there will always be more detail farther in. If
- you seem to be running out of detail, it is because the maximum number of
- iterations is set too low. Raise it, and more of the details along the
- boundary of the set will appear.
-
- For more information try the book 'The Fractal Geometry of Nature' by Benoit
- Mandelbrot [Freeman Press] (he explains it better than could be done in
- the limited space available here), or past issues of Scientific American.
-
- To get a feel for why Mandelbrot images take so much time to draw, let's
- examine the case where the maximum iterations is set to 32 and the drawing
- area is 320x200 covering the full Mandelbrot set. Generating the image will
- require over 1,000,000 multiplications, 1,000,000 additions, 700,000
- subtractions and tens of millions of other operations. No wonder...
-
- Outstanding Features of the MandelPAUG Program
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- So just what does MandelPAUG have to offer?
-
- - Produces Mandelbrot and Julia sets in both two and three
- dimensions.
-
- - Very fast!! Uses custom, optimized algorithms for
- computations, and features a 'remember mode' that
- reduces recalculations.
-
- - Up to over 300 decimal places of accuracy. Varies
- with extent of zoom.
-
- - Full control over the number of iterations to be
- performed. Selectable color increments.
-
- - Full control over screen types and depth, window size,
- colors, etc.
-
- - Images can be saved as IFF files. Even partially
- completed images can be saved, and then brought back in
- for completion.
-
- - Full zoom in and zoom out control. Even scrolling of
- images is handled.
-
- - Images and specs can be saved as presets for fast recall.
- An 'undo' function can be used to recall the last
- image/spec.
-
- - Extensive on-line help! A very user-friendly interface.
-
- - Mandelbrot and Julia set Movies! Straight zoom-in or
- pan while zooming. Can be saved and loaded from disk.
-
- Check it out and enjoy!!!
-
- Before you run
- ~~~~~~~~~~~~~~
- MandelPAUG requires the use of req.library for its file, color and text
- requesters. Therefore, you need to copy the 'req.library' file to your
- libs: directory.
-
- If run from the CLI, set the stack to 8000 first.
-
- Help
- ~~~~
- The on-line help function can be reached from the menu or by pressing the
- Help key. From there, select the menu items you need information on. When
- done, exit the help function by pressing the escape key.
-
- The on-line help function is primarily designed as a quick reference. More
- details on any particular function can be found in this doc file.
-
- Documentation
- ~~~~~~~~~~~~~
- The remainder of this file contains detailed information on the functions
- available in the MandelPAUG program. There is a great deal of information
- here. Please take the time to read through it in order to get the maximum
- utility and enjoyment from the program.
-
- The information presented below pretty much follows the order of menu item
- in the program.
-
- New/Reset
- ~~~~~~~~~
- Resets the program back to the startup conditions: full Mandelbrot set with
- default settings. The user's disk-stored defaults, if found, will be used;
- otherwise, hardwired defaults will be set.
-
- The file used for the disk-stored defaults can be of any type that the
- program handles (since they all store the default information). However,
- the file must be named MandelPAUG.def.
-
- Opening Files
- ~~~~~~~~~~~~~
- Loads in location, iterations, colors, etc. information, as well as image
- data (if saved). If 'Specs Only' were stored, then the program will start
- calculating the picture 'from scratch'. If saved with it's Image, it will
- load the image, and, if it was only a partially completed picture, will
- resume calculations where it had left off.
-
- Open defaults attempts to load default settings from the file MandelPAUG.def
- located in the current directory. The program then recalculates the image
- using these settings and the current location information.
-
- Saving Files
- ~~~~~~~~~~~~
- Saves current program information to a file on disk. The user is given the
- option of storing the Specs (settings and location information), or the
- Image (which includes the Specs). The Image need not be complete, and when
- loaded, the program will continue calculations, if required.
-
- The program uses IFF standards, so a saved Image will be compatible with
- other programs that work with IFF pictures.
-
- Saving Defaults stores current settings (but not location information) that
- are used on startup, and when requested by the user. The Defaults file
- will be called MandelPAUG.def.
-
- IFF Files
- ~~~~~~~~~
- The files that MandelPAUG stores are readable by paint programs, picture
- viewing programs, and anything else that handles IFF files. The extra data
- that MandelPAUG puts in the file will just be ignored by other programs.
- However, if you modify a MandelPAUG file with some other program (a paint
- program, for instance), don't try to load it back into MandelPAUG, as all
- the extra data that MandelPAUG requires will have been stripped away.
-
- Read/Write Errors
- ~~~~~~~~~~~~~~~~~
- If something funky happens while reading or writing a file, you'll probably
- get an error message. The message will probably refer to the specific IFF
- chunk or program variable that couldn't be dealt with. The information may
- not be of much use other than to let you know that the file is probably
- unusable. It could be indicative of a bug, but most likely it'll be a
- problem with the disk media.
-
- Printing
- ~~~~~~~~
- Obviously, these options require the use of a printer.
-
- Specs - Prints out current location and setting information.
-
- Image (Sync) - This prints out the image with the program being tied-up until
- the printing is done.
-
- Image (ASync) - As above, except spawns a separate task for the print job
- that multitasks with MandelPAUG.
-
- You might want to play with the colors a bit before printing, especially
- turning the black of the set to white to save on ribbon usage.
-
- Title Bar
- ~~~~~~~~~
- The screens title bar can be toggled on and off.
-
- Window Size
- ~~~~~~~~~~~
- Allows the user to select the size of the drawing area. The drawing area is
- always centered in the middle of the screen. A new image is generated in
- the new window using the previous location information. If the new window's
- shape is very different, the resulting image will be distorted. Use Restore
- Aspect in the Zoom submenus to correct this, if desired.
-
- Display Type
- ~~~~~~~~~~~~
- You can choose between the high (640 pixels) and low (320 pixels) horizontal
- resolutions, and between the interlaced (400 rows) and non-interlaced (200
- rows) vertical resolutions. Note that if the resolution is changed, the
- program will have to recalculate the image from the top.
-
- Some high resolution modes may cause screen contention (and thus a decrease
- in speed of up to 50%), if fast memory is not available. See the Bitplanes
- section for more information.
-
- Bitplanes
- ~~~~~~~~~
- The number of bitplanes determines the number of colors available (as
- indicated by the menu items), and of course, each bitplane added uses
- proportionally more chip memory. Note that if the number of bitplanes is
- changed, the program will have to recalculate the image from the top (except
- if Remember Mode is On).
-
- Increasing the number of bitplanes increases the amount of 'work' the
- graphics chip has to do to display the screen. Hi-res mode (640 pixels)
- also increases the graphics chip's loading (interlace mode doesn't). If the
- load is too high, the chip will 'steal cycles' normally available to the CPU
- for accessing chip RAM. This 'contention' can result in a slowdown of
- programs running in chip RAM.
-
- The 'Settings' menu item will display the potential amount of contention for
- a particular screen. If the program is running in fast RAM, there is no
- contention, and this number can be ignored. Using a screen blanker, or
- placing the program's screen behind another with less contention (a normal
- Workbench screen, for example) will also eliminate (or at least reduce)
- contention.
-
- Modifying Colors
- ~~~~~~~~~~~~~~~~
- Brings up a color requester for changing the current color set.
-
- Keyboard shortcuts for the requester: Arrow keys change the color
- selection; R, G and B increase/decrease the color's components depending on
- whether or not the shift is pressed; Left-Amiga-V and -B are 'Okay' and
- 'Cancel', respectively.
-
- It is suggested that colors 0 and 1 be left as black and white,
- respectively. Black represents pixels in the set, and white is used for
- boundary pixels.
-
- Loading Color Sets
- ~~~~~~~~~~~~~~~~~~
- Loads one of the three stored color sets as the current (displayed) set.
- Save the current set before using this feature, if you have modified the
- colors.
-
- Saving Color Sets
- ~~~~~~~~~~~~~~~~~
- Stores the current colors in one of three color set buffers for later use.
- Saving a color set will overwrite the data currently stored in that buffer.
-
- This function does not store colors on disk. Save Defaults performs that
- function.
-
- Color Cycling
- ~~~~~~~~~~~~~
- The color cycling menu options are:
- Turn color cycling on and off;
- Change the cycling direction; and
- Set the delay time between cycling steps. Enter a value between 1 and
- 10000.
-
- To shift colors a single step out or in, use the '<' and '>' keys,
- respectively.
-
- If Cycling is On when the program is generating an image, colors will cycle
- one step after each line is drawn (after each pixel, if precision is three
- or higher).
-
- If Cycling is On when the image is saved, IFF cycling data will be added
- that can be used by other programs.
-
- Color Increment
- ~~~~~~~~~~~~~~~
- The number of iterations done on a pixel determines its color. With an
- increment of one, successive iteration counts map to different colors.
- Thus, color bands will represent regions where the iterations is the same
- for each pixel. When the bands get too thin, especially when close to the
- set, increasing the color increment will widen the bands by mapping more
- than one successive count to the same color.
-
- Boundary Thickness
- ~~~~~~~~~~~~~~~~~~
- Pictures of the Mandelbrot set tend to look best if those pixels in the set
- are colored black, and those very near the boundary of the set are colored
- white. This option allows you to set the percent of the iteration interval
- that will be colored using color 1 (which should normally be left as white
- for this effect). For example, with iterations set at 512, a 15% boundary
- will cause pixels with counts between about 435 and 511 to be colored white.
-
- Dimensions
- ~~~~~~~~~~
- Select between a two- and three-dimensional view of the fractal. In the
- three-dimensional view, each 'point' is drawn as a line whose height is
- equal to the number of iterations for that point. This creates a rugged,
- surrealistic landscape with steep, colorful mountains rising towards the
- black hole that is the Mandelbrot (or Julia) set.
-
- The effects created with the three-dimensional view vary from astounding to
- dismal and messy. If some of your 3-D pictures don't look impressive,
- perhaps try somewhere else. Increasing the color increment reduces the
- contrast between the hills and valleys and improves some pictures.
-
- Pause
- ~~~~~
- Select this when you want the program to temporarily stop calculating. This
- is useful especially on high iteration counts and a precision of 2 words,
- as the program will take several seconds before responding to the mouse
- button being depressed. When the pause has 'taken effect', the display will
- flash. When ready to resume, select this option again.
-
- Priority
- ~~~~~~~~
- When calculating, MandelPAUG will consume as much CPU time as the system
- will allow, and even though it multitasks properly, you may notice a
- slow-down in the operation of system functions or other programs. Lowering
- the priority will still allow the program to consume all the 'idle' CPU
- time, and will keep it from bogging down the system.
-
- Zoom In Options
- ~~~~~~~~~~~~~~~
- The zoom in options (Corner/Corner, Center/Radius, Corner/Proportional, and
- Center/Proportional) all allow you to specify a certain area of the image to
- zoom in on. In all cases, press the left mouse button and hold it down
- while moving the mouse to draw a box around the area you want to zoom in on.
- Upon releasing the button, you will be asked to confirm or cancel the zoom.
-
- There is a cancel menu for use before you start drawing a box. While
- drawing, releasing the mouse button outside the window will cancel the zoom.
- A '1-pixel' box (mouse not moved) will also cancel the zoom.
-
- Corner/Corner: With this function the corners of the box are set where the
- mouse button is pressed and released. As a result, the box can be any
- shape. This allows you to create distorted images by drawing oblong
- rectangles. This function gives you the most flexible control over the zoom
- area.
-
- Center/Radius: The center of the box is set where the mouse button is
- pressed, and one of the box's corners follows the mouse's movements.
-
- Corner/Proportional: One corner of the box is set where the mouse button is
- pressed. Mouse movement will draw a box that retains the proportions of the
- original image. Thus, no distortion occurs from the zoom.
-
- Center/Proportional: Like Corner/Proportional, except the box's center is
- set where the mouse button is pressed.
-
- Restore Aspect
- ~~~~~~~~~~~~~~
- This function will correct the distortion caused in previous zooms. The
- 'zoom in' variety will use the smaller 'axis ratio' for restoring the aspect
- so that you end up zooming in towards the center of the window. The 'zoom
- out' variety uses the larger ratio which results in a zooming out.
-
- Zoom Out All The Way
- ~~~~~~~~~~~~~~~~~~~~
- Takes you all the way back to the full fractal set.
-
- Zoom In/Out Times X
- ~~~~~~~~~~~~~~~~~~~
- These functions will zoom in/out from the center of the window by the
- specified factor (2, 4, 8, or 16).
-
- Click to Set Center of New Image
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Click on the location you want the next image to be centered on.
-
- After selecting your 'new center', you'll be asked to confirm/cancel the
- operation. There is also a cancel menu for use before you click the mouse
- button. After confirmation, the program will start generating a new image
- centered on your 'click'.
-
- Click to Shift Image to New Center
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Lines will be drawn on the display to identify the center of the image.
- Click on the location you want scrolled to the center.
-
- After selecting your 'new center', you'll be asked to confirm/cancel the
- operation. There is also a cancel menu for use before you click the mouse
- button. After confirmation, the program will start scrolling the image to
- center the location you clicked on.
-
- To stop the scrolling, select cancel from menu. Scrolling will stop after
- the completion of the current step.
-
- The wait pointer will disappear when scrolling has completed/ceased.
-
- The 5 key on the keypad is a keyboard shortcut for this function.
-
- Set Image Domain Manually
- ~~~~~~~~~~~~~~~~~~~~~~~~~
- This allows you to specify the exact image area by entering the coordinates
- for the corners. You may enter the data with up to 300 digits of accuracy.
- Only fifteen digits of each number are displayed when in lo-res (thirty-five
- in hi-res). The other digits scroll as you type.
-
- Storing Presets
- ~~~~~~~~~~~~~~~
- You use these functions to store the picture (or location) you are viewing
- to a buffer in memory. The image (or spec) can be recalled later using the
- Load Presets menu.
-
- When you store the area, it is saved into memory using the current Preset
- Storage Type (Image or Specs) at the bottom of the Store Presets submenu.
- You can choose between storing location information or the entire picture.
- Obviously, storing the image uses more memory.
-
- When you have something stored in one of the presets, an 'I' or an 'S' in
- menu item's text will remind you of what is stored there.
-
- Keyboard shortcuts for storing presets are '!' through ')' (i.e., shifted
- '1' through '0').
-
- Loading Presets
- ~~~~~~~~~~~~~~~
- Pictures or locations that have been saved to memory are redisplayed with
- this function. Keyboard shortcuts have been provided for loading the
- pictures so that a short slide show effect can be created. You can either
- hit one of the number keys (1 to 0) to display one of the presets, or you
- can hit '=' (for '+') or '-' to display the next or previous preset with an
- image stored in it. By holding down either the '=' or '-' key you can make
- quite an effective high-speed slide show. (This feature is somewhat
- obsolete with the implementation of the movie mode.)
-
- Undo
- ~~~~
- The 'UNDO' function will return the program to the state before it last had to
- redraw the screen (you can even undo an undo). It uses the current Previous
- Storage type (Specs or Image) specified at the bottom of the menu. The options
- allow you to decide how much information the computer will keep track of for
- the UNDO function. If Specs is selected, only the location, window size,
- iterations, etc. is remembered, but none of the image is retained. With Image,
- 'everything' is remembered. Obviously, retaining the Image uses more memory.
-
- Iteration Count
- ~~~~~~~~~~~~~~~
- Allows you to set the maximum number of calculations the program will
- perform for each pixel. Any pixel that reaches this maximum is considered
- to be in the Mandelbrot set and is colored black. Higher numbers take
- longer, but produce 'better looking' pictures.
-
- The Set Maximum item allows you to enter your own value for the maximum
- number of iterations to be performed on each pixel. When selected, a
- requester appears for you to enter a value between 2 and 32767. Remember,
- higher values result in proportionally longer times for generating pictures.
- The value you specify will be set in the next to the last menu item.
-
- Fractal Equation Selection
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
- The Julia set is very similar to the Mandelbrot set. Both use the equation
- z = z^2 + c, where z and c are complex numbers. Both use the location of
- each individual pixel as the initial value of z. Further, the Mandelbrot
- set uses the location of each pixel as the value of c, whereas the Julia set
- uses a constant c for the entire image. This constant value of c is set by
- the user, either manually when selecting the 'Julia Set' option, or
- automatically by clicking on a Mandelbrot image after selection the 'Click
- Julia c' option. The concept behind the automatic entry is that each point
- in the Mandelbrot set has an associated Julia set. The 'connected-' or
- 'fragmented-'ness of a Julia set image is affected by how far its c value is
- from the edge of the Mandelbrot set.
-
- When going from the Mandelbrot set to a Julia set, the last Mandelbrot set
- information is stored in a special preset. Whether specs, or specs and
- image are retained is determined by the setting at the bottom of the Store
- Presets menu. Upon 'returning' to the Mandelbrot set, this preset
- information is used to regenerate the display.
-
- Remember Mode
- ~~~~~~~~~~~~~
- This mode allows MandelPAUG to keep a 'memory' of the iterations required
- for each pixel. While the cost in terms of memory usage will be heavy, the
- benefits can be well worth it.
-
- With this enabled, you can change the number of bitplanes, or the color
- increment, or the boundary thickness, or the dimension and the program will
- intelligently recalculate only that which is necessary. Most of the above
- will require NO recalculations at all! Only drawing time would be required.
-
- Lights, Camera, Action... Here comes Mandelbrot movies!!!
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Perhaps the most stupendous feature of the MandelPAUG program is the ability
- to automatically produce a series of images that can be "connected" together
- to form a movie. The effects that can be produced with this feature are
- rare and beautiful, and probably not available anywhere else on a personal
- computer.
-
- You can make movies from the Mandelbrot set, from any of the infinite
- number Julia sets, or make a movie of a series of Julia sets.
-
- Movies on Disk
- ~~~~~~~~~~~~~~
- The frames of a movie are saved as individual IFF files, and have filename
- suffixes ranging from '.001' to '.999'. When saving to disk, if you supply
- a filename with no suffix, the frames will start with '.001'. If you supply
- a suffix, the program will use it (e.g., if you supply 'movie.005', that
- will be the name given to the first frame; the second will be 'movie.006',
- and so on). When loading, if you supply a filename with no suffix, the
- program will attempt to load your filename with suffix '.001' added. If
- your filename has a suffix, it will load that as the first frame, and
- proceed sequentially. Loading will halt when it runs out of files to load,
- or when the Maximum Frames count is reached (or sooner if you run out of
- memory). (E.g., if you specify 'movie.003' and a max of 5 frames, the
- program will load 'movie.003' through 'movie.007'.)
-
- Movie frames must all be of the same screen type. If a loaded frame has a
- different screen type from the previous frame, the movie will be deleted
- from memory. (This can come about when concatenating two movies by renaming
- the frame files.)
-
- Movie Playback
- ~~~~~~~~~~~~~~
- Movie playback can only be performed by pressing F1 (i.e., there is no menu
- item for playing a movie). Once started, the movie will play continuously
- until another key (not F1) is pressed.
-
- Movie Playback Delay
- ~~~~~~~~~~~~~~~~~~~~
- Allows you to set a delay from 0 to 3600 that is used between frames when
- playing back a movie. A delay of 60 equates to about 1 second.
-
- Loading a Movie
- ~~~~~~~~~~~~~~~
- Allows you to load a previously saved movie from disk. The program will
- load frames from the one specified until it runs out of frames or until it
- has loaded the maximum number specified in the 'Frames' menu item.
-
- Saving a Movie
- ~~~~~~~~~~~~~~
- Allows you to save a movie currently in memory to disk. Frames are stored
- as individual IFF files that are numbered sequentially. If a numeric suffix
- is supplied in the filename, it will be used for numbering the saved frames.
-
- Note that the specification data stored in frame files will be incorrect,
- except for the last frame. Make the movie to disk if you require proper
- specs in each frame's file.
-
- Maximum Number of Movie Frames
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Allows you to set the maximum number of frames in a movie.
-
- Where to Make the Movie
- ~~~~~~~~~~~~~~~~~~~~~~~
- Movie frames can be saved to disk as they are completed, can be kept in
- memory for subsequent playback, or both. The default is to make it in
- memory, but not to disk.
-
- With 'Make to Disk', frames are saved as individual IFF files that are
- numbered sequentially. When you start making a movie, you'll be asked for a
- filename. If a numeric extension is supplied in the filename, it will be
- used for numbering the frames.
-
- Making to disk will ensure that each frame's file contains proper specs that
- can be subsequently used by the program, if required.
-
- Set Multiplier for Movie Zooms
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Allows you to set a 'multiplier' from 1 to 65535 that will used to determine
- the zoom factor between movie frames. The zoom factor will be 65536 divided
- by the multiplier (e.g., 32768 would be a zoom of 2; 43691 a zoom of 1.5).
-
- Set Multiplier With Mouse
- ~~~~~~~~~~~~~~~~~~~~~~~~~
- Allows you to set the 'multiplier' using the mouse. Frame the size of the
- window you want zoomed in on for each movie frame, and then click the mouse
- button.
-
- Zoom-In On Center Movie
- ~~~~~~~~~~~~~~~~~~~~~~~
- Makes a 'zoom in on the center' type movie on the current image; using the
- 'multiplier' to determine the zoom factor between frames.
-
- Zoom-In On an Area Movie
- ~~~~~~~~~~~~~~~~~~~~~~~~
- Hold the mouse button and frame a area you want zoomed in on for the movie.
- The options allow you to set an area proportional to the current window
- either by 'dragging' the box from corner to corner, or by clicking on the
- center and dragging outward. The program will then make a movie that zooms
- and shifts from frame to frame. The zoom factor is determined
- automatically based on the size of the area you select and the number in the
- Frames menu item.
-
- Preset 1 to Preset 2 Movie
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
- This feature makes a movie that spans from the information stored in Preset
- 1 to that stored in Preset 2. In other words, the first frame will be what
- is specified in Preset 1, the last uses Preset 2, and the frames in between
- will zoom and pan between the two. Obviously, all that is required is that
- information be set in Presets 1 and 2. The zoom factor is determined
- automatically based on the data in the Presets and the number in the Frames
- menu item.
-
- Preset 1 can be set with either an image or a spec. If it is an image, the
- image will be used (and completed if only partially done). Preset 2 can be
- image or spec, too. However, the program only uses location data from
- Preset 2. Thus, even if Preset 2 contains an image, it will not be used,
- and the last frame of the movie will be calculated in full.
-
- Julia Set Movies
- ~~~~~~~~~~~~~~~~
- Julia set movies are a series of full Julia set images in which the 'c'
- value changes between frames.
-
- First, setup on a initial Mandelbrot set image. Don't zoom in too far or
- the 'c' values won't change much and the frames will all look alike. Next,
- press F9 or use the menu for Julia Movie. Now click the mouse on the
- Mandelbrot image, and while holding down the mouse button, 'drag' a line.
- The Julia set images will use 'c' values along this line at intervals
- determined by the number of frames you specify.
-
- Julia set movies can be made in RAM or to disk, saved, loaded and played
- back just like 'zoom-in' movies.
-
- Delete the Movie From Memory
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Deletes a movie from memory, and releases the memory it used. You don't
- have to clear out one movie before making or loading another; the program
- will do that automatically.
-
- Cut!
- ~~~~
- You can cancel a movie in the making with the cancel menu. That will cause
- the current image to be the last frame, and control will return to you when
- that image is finished.
-
- Show Current Settings
- ~~~~~~~~~~~~~~~~~~~~~
- This displays information about the current program settings. Most of the
- items refer to current options selectable by the user. See the Bitplanes
- section for information about contention. The Image Domain refers to the
- coordinates for the left edge, horizontal center, right edge, top edge,
- vertical center and bottom edge of the display. The Precision refers to the
- number of 16-bit words of data used to represent numbers in the program. As
- you zoom in, the Precision will increase and so will the calculation times.
- You can zoom in up to 31 words of precision. (I don't think you'll ever get
- that far. The most I ever did was 7, and it took 2.5 DAYS! to generate a
- hi-res interlaced image on a 68010 processor.) The time at the bottom of
- the display refers to the amount of time the program has spent generating
- the current image. It is intended to give you an idea as to how rapidly
- picture generation is proceeding, and may not perfectly accurate (or even
- correct). In particular, many menu operations do not 'pause the clock'
- (although some do), and scrolling after the picture has completed does not
- add to the time.
-
- Help Mode
- ~~~~~~~~~
- When in help mode, just select a menu item, and any information on the item
- will be displayed. Some items may tell you to refer to this doc file for
- specific information (the trivial one do that). Some items may have more
- than one page of information. If <more> is at the bottom of a page, click
- with the mouse or hit space to get the next page.
-
- When done with help, click the close gadget or hit escape.
-
- The help key or a '?' can be used to access the help mode in addition to
- using the menu.
-
- Keyboard Usage
- ~~~~~~~~~~~~~~
- Amiga users have come to appreciate the ability to use single keystrokes to
- access functions instead of having to constantly use the menus. Thus,
- MandelPAUG allows menu items with shortcuts to be accessed by typing the
- shortcut key all by itself (as well as with the Right-Amiga key
- combination).
-
- Menu keys (and alternates):
-
- X : New/reset
- O : Open spec/image
- S : Save image
- P : Spawn task to print image
- W : Change window size
- K : Modify colors
- Tab : Turn color cycling on/off
- . : Change color cycling direction to 'in'
- , : Change color cycling direction to 'out'
- Space/Caps lock : Pause
- Q/Escape : Quit
- D : Zoom in corner/corner (along diagonal)
- R : Zoom in center/radius
- C : Zoom in corner/proportional
- M : Zoom in center/proportional (from middle)
- ] : Zoom in two times
- } : Zoom in sixteen times
- A : Restore aspect (zoom in)
- Z : Zoom out all the way
- [ : Zoom out two times
- { : Zoom out sixteen times
- Keypad 5 : Click on center with scrolling
- ! thru ) : Store presets
- 1 thru 0 : Load presets
- U/Backspace : Undo
- J : Click on Mandelbrot image to set Julia set 'c' value
- F2 : Enter 'frame delay' for movie playback (60 = 1 sec.)
- F3 : Enter number of frames to make/load
- F4 : Toggle make 'to disk'
- F5 : Toggle make 'in RAM'
- F6 : Set 'multiplier' with mouse
- F7 : Make a central zoom movie
- F8 : Make movie using presets 1 and 2
- F9 : Make a Julia set movie
- F10 : Erase movie from memory
- I : Show information on current image
- ?/Help : Help mode
-
- Some functions, by the nature of their operations, cannot be accessed
- through menus. These include:
-
- F1 : Play movie continuously (press any other key to stop)
- > : Cycle colors one step 'in'
- < : Cycle colors one step 'out'
- - : Display previous image stored in presets
- = : Display next image stored in presets
-
- The image can be scrolled using either the numeric keypad, or the arrow
- keys. The numeric keypad is configured to scroll the window as follows:
-
- 7-up,left 8-up 9-up,right
-
- 4-left 6-right
-
- 1-down,left 2-down 3-down,right
-
- The arrow keys function analogously.
-
- Using the shift key with a scrolling key will repeat the step 10 times. To
- stop multiple scrolling, select cancel from the menu. Scrolling will stop
- after the completion of the current step.
-
- The wait pointer will disappear when scrolling has completed/ceased.
-
- There are keyboard shortcuts that can be used when entering the image domain
- or entering the 'c' value for the Julia set. Hitting return moves the
- cursor to the next 'box'. On the last box, the cursor disappears. At this
- point, you can: Hit return to put the cursor back to the first box; hit 'Y'
- or Left-Amiga-V to simulate selecting the confirm gadget; or hit 'N', 'Q',
- Escape, or Left-Amiga-B for cancel.
-
- There are also a number of keyboard shortcuts that can be used with the
- color requester. See information on 'Modify Colors' for details.
-
- Bugs and Unusual Features
- ~~~~~~~~~~~~~~~~~~~~~~~~~
- On an A3000 with an "interlace" screen, the file requester is unreadable.
- This is a problem between req.library and WB 2.0 that I can do nothing
- about.
-
- The frame files for a movie that is made in memory and then saved to disk
- will all contain the location information for the last frame (i.e., the
- location data will not match the image except for the last frame). Thus,
- strange things may occur if one of these files is loaded as a separate
- image for zooming, movie making, etc. Making the movie to disk will ensure
- that correct location data is saved in each frame file.
-
- If a movie is present in memory, and the display characteristics are
- changed (bit planes, interlace, resolution, etc.), the movie will be
- deleted from memory.
-
- Remember: "There's always one more bug!"
-
- Source Code
- ~~~~~~~~~~~
- Source code is available for both MandelPAUG and its 'parent' MandFXP.
- Send either $5.00 or a self-addressed-stamped mailer with a blank disk to
- the address below.
-
- Questions, Bug Reports, Source Requests
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- I can be contacted at:
-
- Mailing address:
- Jerry D. Hedden
- 28 Windemere Dr.
- Sicklerville, NJ
- 08081-3023
-
- Home phone: 609-629-3975
- Internet: hedden@eniac.seas.upenn.edu
-